package actions;

import gui.Venster;
import javax.swing.JSlider;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

/**
 * Deze klasse implementeert ChangeListener en bevat bijgevolg de methode
 * StateChanged
 * <p>
 * Deze klasse houdt het veranderen van de slider in de gaten.
 * @author Bart Bruynooghe
 * @author Benjamin De Clercq
 * @author Thomas Flamant
 * @author Sander Van den Broecke
 * @see ChangeListener
 */
public class SliderChangeListener implements ChangeListener {

	private Venster ouder;

	/**
	 * De constructor zorgt ervoor dat het attribuut ouder wordt geïnitialiseerd
	 * met zijn ouderVenster
	 * @param ouder het venster ouder wordt meegegeven
	 */
	public SliderChangeListener(Venster ouder) {
		this.ouder = ouder;
	}

	/**
	 * De methode wordt hier geïmplementeerd en roept de methode
	 * setSnelheidTimer() aan van het attribuut Zee dat zich in zijn
	 * ouderVenster bevindt.
	 * @param e ChangeEvent e wordt meegegeven
	 * @see ChangeEvent
	 */
	public void stateChanged(ChangeEvent e) {
		JSlider s = (JSlider) e.getSource();
		ouder.getZee().setSnelheidTimer(s.getValue());
	}
}
